Filename | (eval 13)[/usr/local/share/perl/5.18.2/Sub/Quote.pm:3] |
Statements | Executed 15 statements in 448µs |
Eval Invoked At | /usr/local/share/perl/5.18.2/Sub/Quote.pm line 3 |
Sibling evals | 1, 2 |
Calls | P | F | Exclusive Time |
Inclusive Time |
Subroutine |
---|---|---|---|---|---|
3 | 2 | 2 | 53µs | 1.71ms | new | Method::Generate::Constructor::
1 | 1 | 1 | 16µs | 29µs | BEGIN@4 | Sub::Quote::
1 | 1 | 1 | 8µs | 8µs | BEGIN@10 | Method::Generate::Constructor::
Line | State ments |
Time on line |
Calls | Time in subs |
Code |
---|---|---|---|---|---|
1 | { | ||||
2 | 2 | 2µs | my $_QUOTED = ${$_[1]->{"\$_QUOTED"}}; | ||
3 | 1 | 400ns | my $_UNQUOTED = ${$_[1]->{"\$_UNQUOTED"}}; | ||
4 | 2 | 84µs | 2 | 42µs | # spent 29µs (16+13) within Sub::Quote::BEGIN@4 which was called:
# once (16µs+13µs) by Sub::Quote::_clean_eval at line 4 # spent 29µs making 1 call to Sub::Quote::BEGIN@4
# spent 13µs making 1 call to warnings::unimport |
5 | package Method::Generate::Constructor; | ||||
6 | # spent 1.71ms (53µs+1.66) within Method::Generate::Constructor::new which was called 3 times, avg 571µs/call:
# 2 times (39µs+1.66ms) by Moo::_constructor_maker_for at line 212 of Moo.pm, avg 850µs/call
# once (14µs+0s) by Moo::_constructor_maker_for at line 67 of Sub/Defer.pm | ||||
7 | ($_QUOTED,$_UNQUOTED) if 0; | ||||
8 | # BEGIN quote_sub PRELUDE | ||||
9 | package Method::Generate::Constructor; | ||||
10 | # spent 8µs within Method::Generate::Constructor::BEGIN@10 which was called:
# once (8µs+0s) by Sub::Quote::_clean_eval at line 15 | ||||
11 | 1 | 1µs | $^H = "2018"; | ||
12 | 1 | 600ns | ${^WARNING_BITS} = "UUUUUUUUUUUUUU\025"; | ||
13 | 1 | 7µs | %^H = ( | ||
14 | ); | ||||
15 | 1 | 330µs | 1 | 8µs | } # spent 8µs making 1 call to Method::Generate::Constructor::BEGIN@10 |
16 | # END quote_sub PRELUDE | ||||
17 | 2 | 2µs | my $class = ref($_[0]) ? ref(shift) : shift; if ($class ne "Method::Generate::Constructor") { | ||
18 | if ($Moo::MAKERS{$class}) { | ||||
19 | if ($Moo::MAKERS{$class}{constructor}) { | ||||
20 | package Method::Generate::Constructor; | ||||
21 | return $class->SUPER::new(@_); | ||||
22 | } | ||||
23 | Moo->_constructor_maker_for($class); | ||||
24 | return $class->new(@_); | ||||
25 | } elsif ($INC{"Moose.pm"} and my $meta = Class::MOP::get_metaclass_by_name($class)) { | ||||
26 | return $meta->new_object( | ||||
27 | $class->can("BUILDARGS") ? $class->BUILDARGS(@_) | ||||
28 | : $class->Moo::Object::BUILDARGS(@_) | ||||
29 | ); | ||||
30 | } | ||||
31 | } | ||||
32 | my $args = scalar @_ == 1 | ||||
33 | ? ref $_[0] eq 'HASH' | ||||
34 | 1 | 3µs | ? { %{ $_[0] } } | ||
35 | : die "Single parameters to new() must be a HASH ref" | ||||
36 | . " data => ". $_[0] ."\n" | ||||
37 | : @_ % 2 | ||||
38 | ? die "The new() method for $class expects a hash reference or a" | ||||
39 | . " key/value list. You passed an odd number of arguments\n" | ||||
40 | : {@_} | ||||
41 | ; | ||||
42 | 1 | 1µs | my $new = bless({}, $class);; | ||
43 | 1 | 11µs | (exists $args->{"accessor_generator"} and ($new->{"accessor_generator"} = $args->{"accessor_generator"})),(exists $args->{"attribute_specs"} and ($new->{"attribute_specs"} = $args->{"attribute_specs"})),(exists $args->{"construction_builder"} and ($new->{"construction_builder"} = $args->{"construction_builder"})),(exists $args->{"construction_string"} and ($new->{"construction_string"} = $args->{"construction_string"})),(exists $args->{"package"} and ($new->{"package"} = $args->{"package"})),(exists $args->{"subconstructor_handler"} and ($new->{"subconstructor_handler"} = $args->{"subconstructor_handler"})), return $new; | ||
44 | } | ||||
45 | 1 | 1µs | $$_UNQUOTED = \&new | ||
46 | } | ||||
47 | 1 | 5µs | 1; | ||
48 | |||||
49 | ; |